//
//  main.m
//  03-NSStringAndNSValue
//
//  Created by dllo on 16/7/6.
//  Copyright © 2016年 daming. All rights reserved.
//

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    
    // 1.查看头文件或者API, 他们的初始化/构造器,基本上都被放在一起
    // 2.当我们拿到一个新的类, 你需要去查看这个类的初始化或者构造器
    
    /** 初始化(init) */
    NSString *str = [[NSString alloc] init];
    /** 便利构造器(string) */
    NSString *str1 = [NSString string];
    /** 获取字符串长度(length) */
    NSString *str2 = @"i have an iphone";
    NSLog(@"%ld", [str2 length]);
    /** 获取字符串中字符(character) */
    [str2 characterAtIndex:2];
    /** 字符串是否相等(equal) */
    [str isEqualToString:str1];
    /** 获取子串(sub) */
    [str2 substringFromIndex:6];
    /** 拼接字符串(append) */
    [str stringByAppendingString:str2];
    
    NSString *pathString = @"/users/local/bin";
    // 如果字符串方法带有返回值, 操作的不是原字符串, 而是生成新的字符串
    // 拼路径
    NSString *appendString = [pathString stringByAppendingPathComponent:@"/name.plist"];
//    NSLog(@"%@", pathString);
    NSLog(@"%@", appendString);
    /** 替换字符串(replace) */
//    [pathString stringByReplacingCharactersInRange:<#(NSRange)#> withString:<#(nonnull NSString *)#>]
    
    /** 字符串对象转化为int类型(int) */
    NSInteger number = [pathString integerValue];
    NSLog(@"%ld", number);
    /** 字符串对象转化为其他数据类型, 例如double, float, BOOL等. */
    [pathString doubleValue];
    [pathString floatValue];
    [pathString boolValue];
    /** 字符串全部大写(uppercase) */
    [str2 uppercaseString];
    /** 字符串全部小写(lowercase) */
    [str2 lowercaseString];
    /** 字符串首字母大写(capitalized) */
    [str2 capitalizedString];
    /** 是否以指定字符串为前缀(prefix) */
    [pathString hasPrefix:@"www"];
    /** 是否以指定字符串为后缀(suffix) */
    [pathString hasSuffix:@"com"];
    int age1 = 10;
    // number类型初始化方法
    NSNumber *ageNumber = [[NSNumber alloc] initWithInt:age1];
    // number类型构造器方法
    NSNumber *ageNumber1 = [NSNumber numberWithInt:age1];
    // number类型字面量@""  @()
    NSNumber *ageNumber2 = @(age1);
    // 1.330184198501184115 处理字符串, 取出他的出生年月, 并计算出年龄(不用具体)
    NSString *ID =@"330184198507054115";
    NSString *bir = [ID substringWithRange:NSMakeRange(10, 4)];
    NSString *year = [ID substringWithRange:NSMakeRange(6, 4)];
    NSString *month = [bir substringWithRange:NSMakeRange(0, 2)];
    NSString *day = [bir substringWithRange:NSMakeRange(2, 2)];
    NSInteger age = 2016 - [year integerValue] ;
    if ([bir intValue] - 0706 > 0) {
        age--;
    }
    NSLog(@"%@年%@月%@日 年龄%ld岁", year, month, day, age);
   
    // 输出格式 1985年01月18日 年龄:31岁
    
    
    
    
    return 0;
}
